Understanding Program Dependencies

نویسنده

  • Norman Wilde
چکیده

This paper reports on an experiment in trying to understand anunfamiliar program of some complexity and to record the authors’ under-standing of it. The goal was to simulate a practicing programmer in aprogram maintenance environment using the techniques of program designadapted to program understanding and documentation; that is, given aprogram, a specification and correctness proof were developed for the program.The approach points out the value of correctness proof ideas in guiding thediscovery process. Toward this end, a variety of techniques were used: directcognition for smaller parts, discovering and verifying loop invariants forlarger program parts, and functions determined by additional analysis forlarger program parts. An indeterminate bounded variable was introducedinto the program documentation to summarize the effect of several programvariables and simplify the proof of correctness. Basili90Basili, Victor. “Viewing Maintenance as Reuse-Oriented SoftwareDevelopment.” IEEE Software 7, 1 (Jan. 1990), 19-25.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Hidden Dependencies in Program Comprehension and Change Propagation

Large software systems are difficult to understand and maintain. Program dependency analysis plays a key role in both understanding and maintenance. This paper discusses hidden dependencies among software components that make both understanding and maintenance hard. Hidden dependency is a relationship between two seemingly independent components and it is caused by a data flow inside of a third...

متن کامل

A Tool For Understanding Multi-Language Program Dependencies

This paper describes a prototype tool that facilitates the process of understanding and managing multi-language program dependencies. More specifically, the software tool maintains a repository of host-to-foreign language dependencies between C/C++ and Java code. We describe some program comprehension features of the tool and we discuss a preliminary case study performed in order to verify its ...

متن کامل

Multithreaded Dependence Graphs for Concurrent Java Programs

Understanding program dependencies in a computer program is essential for many software engineering activities including program slicing, testing, debugging, reverse engineering, and maintenance. In this paper, we present a dependence-based representation called multithreaded dependence graph, which extends previous dependence-based representations, to represent program dependencies in a concur...

متن کامل

Understanding functional dependencies via constraint handling rules

Functional dependencies are a popular and useful extension to Haskell style type classes. We give a reformulation of functional dependencies in terms of Constraint Handling Rules (CHRs). In previous work, CHRs have been employed for describing user-programmable type extensions in the context of Haskell style type classes. Here, we make use of CHRs to provide for the first time a concise result ...

متن کامل

Dependence Analysis of Java Bytecode

Understanding program dependencies in a computer program is essential for many software engineering tasks such as program understanding, testing, debugging, reverse engineering, and maintenance. In this paper, we present an approach to dependence analysis of Java bytecode, and discuss some applications of our technique, which include Java bytecode slicing, understanding, and testing.

متن کامل

Static Dependency Analysis for Concurrent Ada 95 Programs

Program dependency analysis is an analysis technique to identify and determine various program dependencies in program source codes. It is an important approach to testing, understanding, maintaining and transforming programs. But, there are still many difficulties to be solved when carrying out dependency analysis for concurrent programs because the execution of statements is unpredictable. In...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1990